<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=divice-width,initial-scale=1.0">
	<title>数组reduce</title>
</head>
<body>
	<script type="text/javascript">
		//reduce 接收两个参数 第一个参数必须，第二个参数可选，该函数可接收两个参数：
		//第一个参数是上一次reduce处理的结果
		//第二个参数是数组中要处理的下一个参数
		//reduce会把数组的元素从左到右依次进行reduce处理，并把处理的结果作为下次reduce的第一个参数
		//如果是第一次则把前两个元素作为计算参数，或者把用户指定的初始值作为起始参数
		let arr = [1,2,3,4,5,6,7,8,9,10];
		// 计算过程 
		// a=1 , b=2  3  //第一次运行
		// a=3 , b=3  6  //第二次运行
		// a=6 , b=4  10 //第三次运行
		// a=10 , b=5  15 //第四次运行
		// a=15 , b=6  21 //第五次运行
		// a=21 , b=7  28 //第六次运行
		// a=28 , b=8  36 //第七次运行
		// a=36 , b=9  45 //第八次运行
		// a=45 , b=10  55 //第九次运行
		let result = arr.reduce(function(a,b){
			return a + b;
		});
		console.log(`result=${result}`);  //55
	</script>
</body>
</html>